package entity.lemming;

import java.awt.Point;

import entity.Entity;
import entity.terrain.Terrain;
import level.*;

/**
 * The Blocker Lemming. A Lemming that stays at a set coordinates, cannot move. Its function
 * is to cause lemmings to turn around and therefore limit/confine their movement.
 * 
 * @author Neil Cowzer, Olga Murdoch
 */
public class Blocker extends Lemming {
	
	

	/**
	 * Create an instance of the Blocker Lemming.
	 * 
	 * @param x the starting x-coordinate of the Lemming.
	 * @param y the starting y-coordinate of the Lemming.
	 */
	/*@ requires 0 <= x && 0 <= y;
   		assignable speed_X && speed_Y && energy;
   		ensures speed_X == 0 && speed_Y == 0 && energy = 100;
	 */
	public Blocker(int x, int y){
		super("resource/graphics/lemming/blocker/blocker_1.gif",16, x, y);
		speed_X = 0;
		speed_Y = 0;
		energy = 100;
	}
	
	/**
	 * Create a new Blocker with the given center point
	 * 
	 * @param center point of the Lemming
	 */
	public Blocker(Point center){
		super("resource/graphics/lemming/blocker/blocker_1.gif",16, center);
		speed_X = 0;
		speed_Y = 0;
		energy = 100;
	}
	
	/** Check for collisions with other entities */
	//@ requires other != null;
	public  /*@ pure @*/  boolean collision(Lemming other) {
		// Do nothing!!!!
		return false;
	}

	/** Perform the logic of one move of a blocker */
	/*@ ensures speed_X == 0 &&
	 			speed_Y == 0 &&
	 			energy == 100;
	 */
	public void move(Terrain terrain) {
		update();
	}
	
	/** Reverse a Lemmings direction */
	public void turnAround(){

	}
}
